﻿Imports System.Data
Imports Sistema_InformacionNaviera.BC
Imports Sistema_InformacionNaviera.BE
Imports Sistema_InformacionNavier.UTIL

Public Class Consultar_NaveViaje
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            CargarLinea()
        End If

        '-----------------------------------------------------------------------

        If My.Request.Params("__EVENTTARGET") = "MiFuncionPaquetes" Then
            CargarDatosNavePopUp()
        End If

    End Sub

    Protected Sub btnNuevo_Click(sender As Object, e As EventArgs) Handles btnNuevo.Click

        Session("TipoEvento") = 0 'modificar
        Response.Redirect("~/Page/NaveViaje/NaveViaje.aspx", True)
    End Sub


    Public Sub CargarServicio(ByVal sTipo As String)
        Dim listGeneralBE As List(Of GeneralBE) = New List(Of GeneralBE)
        Dim objGeneralBC As GeneralBC = New GeneralBC()

        Dim objUnidadSeleccione As GeneralBE = New GeneralBE
        objUnidadSeleccione.Codigo = 0
        objUnidadSeleccione.Descripcion = "[Seleccione]"
        listGeneralBE.Add(objUnidadSeleccione)
        objUnidadSeleccione.Codigo = sTipo
        objUnidadSeleccione.Param1 = IIf(cboLinea.SelectedIndex > 1, cboLinea.SelectedValue, "")

        listGeneralBE.AddRange(objGeneralBC.ListadoGeneral(objUnidadSeleccione))

        cboServicio.DataSource = listGeneralBE
        cboServicio.DataValueField = "Codigo"
        cboServicio.DataTextField = "Descripcion"
        cboServicio.DataBind()

    End Sub

    Public Sub CargarLinea()


        Dim listLineaBE As List(Of LineaBE) = New List(Of LineaBE)
        Dim objLineBC As LineaBC = New LineaBC()

        Dim objUnidadSeleccione As LineaBE = New LineaBE
        objUnidadSeleccione.Codigo = ""
        objUnidadSeleccione.Descripcion = ""
        listLineaBE.Add(objUnidadSeleccione)


        listLineaBE.AddRange(objLineBC.ListadoLinea(objUnidadSeleccione))

        objUnidadSeleccione.Descripcion = "[Seleccione]"
        cboLinea.DataSource = listLineaBE
        cboLinea.DataValueField = "Codigo"
        cboLinea.DataTextField = "Descripcion"
        cboLinea.DataBind()

    End Sub

    Public Sub CargarDatosNavePopUp()

        If Session("BPCodViaje") = Nothing Then
            txtNave.Text = String.Empty
            txtDescripcionNave.Text = String.Empty
        Else
            txtNave.Text = Session("BPCodViaje")
            txtDescripcionNave.Text = Session("BPDesViaje")
        End If
    End Sub

    Sub Cambiarpagina(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
        CargarGridConsulta()
        dgNaveViaje.PageIndex = e.NewPageIndex
    End Sub
     
    Private Sub cboLinea_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles cboLinea.SelectedIndexChanged
        If cboLinea.SelectedIndex > 1 Then 
            CargarServicio("SR")
        End If
    End Sub

    Protected Sub btnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click
        CargarGridConsulta()
    End Sub

    Public Sub CargarGridConsulta()
        Dim objViajeBE As New ViajesBE
        Dim lstViajeBE As New List(Of ViajesBE) 
        Dim objViajeBC As New ViajesBC

        objViajeBE.Line = "" : objViajeBE.Serv = "" : objViajeBE.Farr = "" : objViajeBE.Fzar = "" : objViajeBE.DesNave = ""
        objViajeBE.Viaje = 0
        If cboLinea.SelectedIndex > 1 Then
            objViajeBE.Line = cboLinea.SelectedValue.Trim
        End If
        If cboServicio.SelectedIndex > 1 Then
            objViajeBE.Serv = cboServicio.SelectedValue.Trim
        End If
        If txtIniArr.Text.Trim <> "" Then
            objViajeBE.Farr = txtIniArr.Text.Trim.ToUpper()
        End If

        If txtFinArr.Text.Trim <> "" Then
            objViajeBE.Fzar = txtFinArr.Text.Trim.ToUpper()
        End If

        If txtNave.Text.Trim <> "" Then
            objViajeBE.DesNave = txtNave.Text.Trim.ToUpper()
        End If

        lstViajeBE = objViajeBC.ConsultaNaveViaje(objViajeBE)
        dgNaveViaje.DataSource = lstViajeBE
        dgNaveViaje.DataBind()
    End Sub
     
    Private Sub dgNaveViaje_RowCommand(sender As Object, e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgNaveViaje.RowCommand
        Dim intCodigo As Integer = Convert.ToInt32(e.CommandArgument)
        Dim sMensaje As String = String.Empty
        Dim bExito As Boolean
        Select Case e.CommandName  '.ToLower 

            Case "Editar"
                Session("TipoEvento") = 1 'modificar
                Session("CodigoVJ") = intCodigo
                Response.Redirect("~/Page/NaveViaje/NaveViaje.aspx", True)
            Case "Eliminar"
                If MsgBox("Esta seguro de eliminar el registro?", vbYesNo, Me.Title) = MsgBoxResult.Yes Then

                    Dim objViajesBE As New ViajesBE
                    Dim objViajesBC As New ViajesBC
                    objViajesBE.Viaje = intCodigo

                    bExito = objViajesBC.EliminarNaveViaje(objViajesBE, bExito, sMensaje)
                    If bExito Then
                        MsgBox("El registro fue eliminado con éxito.", vbInformation, Me.Title)
                        CargarGridConsulta()
                    End If
                End If
        End Select
    End Sub 
End Class